home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / B-Business / (c)b2.d64 / mag index.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  7KB  |  258 lines

  1. 10 REM *******************************
  2. 12 REM *                             *
  3. 14 REM *    MAGAZINE INDEX PRGM      *
  4. 15 REM *    FOR THE COMMODORE 64     *
  5. 16 REM *    AND DISK DRIVE.          *
  6. 17 REM *                             *
  7. 18 REM * DON WHITE                   *
  8. 20 REM * 47 ARIEL COURT              *
  9. 22 REM * NEPEAN, ONTARIO             *
  10. 24 REM * K2H 8J1                     *
  11. 26 REM * 613-829-2082                *
  12. 28 REM *                             *
  13. 30 REM *******************************
  14. 32 REM
  15. 34 DIMM$(20)
  16. 36 M$(1)="65XX [205]ACHINE [204]ANGUAGE"
  17. 38 M$(2)="65XX [212]ECHNIQUES"
  18. 40 M$(3)="[195]64 [208]ROGRAMS"
  19. 42 M$(4)="[195]64 [212]ECHNIQUES"
  20. 44 M$(5)="[199]AMES"
  21. 46 M$(6)="[199]RAPHICS"
  22. 48 M$(7)="[205]ATHEMATICS"
  23. 50 M$(8)="[194]USINESS"
  24. 52 M$(9)="[194]ASIC [208]ROGRAMMING"
  25. 54 M$(10)="[195]OMMUNICATIONS"
  26. 56 M$(11)="[200]ARDWARE"
  27. 58 M$(12)="[211]OFTWARE"
  28. 60 M$(13)="[204]ANGUAGES"
  29. 62 M$(14)="[213]TILITIES"
  30. 64 M$(15)="[211]IMULATIONS"
  31. 66 M$(16)="[205]ISCELLANEOUS"
  32. 68 M$(17)="[193]PPLICATIONS"
  33. 70 M$(18)="[205]USIC"
  34. 72 M$(19)="[197]DUCATION"
  35. 74 M$(20)="[208]-500"
  36. 76 REM
  37. 78 GOTO332
  38. 80 REM
  39. 82 REM **** INDEX FILE SEARCH ****
  40. 84 REM
  41. 86 L=0
  42. 88 PRINTTAB(5)"[147][158][195]ATEGORIES AND CODES ARE:
  43. 90 [129]I[178]1[164]20
  44. 92 I$[178]" "[170][196](I)
  45. 94 [153][163]5)[199](30)[201](I$,2)".  "[199](158)M$(I)
  46. 96 [130]
  47. 98 [133]"(null)HICH CATEGORYWAIT  CLOSECMDCMDCMD";I$:I[178][197](I$)
  48. 100 [139]I[179]1[176]I[177]20[167][153]"ONONON":[137]98
  49. 102 [141]138:[143] FORMAT SCREEN
  50. 104 [140]:[135] N
  51. 106 [141]118:[143] READ DATA
  52. 108 [139][200](ZZ$,1)[178]"Y"[167]82
  53. 110 [137]332
  54. 112 [143]
  55. 114 [143]   ****** READ DATA ******
  56. 116 [143]
  57. 118 [135]C1,C2,C3,A$,B$,C$,D$
  58. 120 [139]A$[178]""[167]130
  59. 122 A$[178][200](A$,22):[143] MAKE SURE STRING FITS SCREEN FORMAT
  60. 124 [139]C1[178]I[176]C2[178]I[176]C3[178]I[167][153]A$[163]23)B$[163]30)C$[163]35)D$:L[178]L[170]1
  61. 126 [139]L[178]17[167][141]164:[143] PAUSE
  62. 128 [137]118
  63. 130 [153]"DEFATNNOTHER CATEGORY
  64. 132 INPUT"(Y OR N)[146]  [158]Y[157][157][157]";ZZ$
  65. 134 RETURN
  66. 136 REM
  67. 138 REM  **** FORMAT SCREEN ****
  68. 140 REM
  69. 142 PRINT"[147][195]ATEGORY:"TAB(15)CHR$(158)""M$(I)"[146]"
  70. 144 PRINT"[192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][192][178][192][192][192][192][192][192][178][192][192][192][192][178][192][192][192][174]
  71. 146 [153]"(null)(null)PEEKMID$VALLEN(null)"[163]23)"(null)(null)(null)(null)LENVAL"[163]30)"STR$ATN(null)VAL"[163]35)"(null)CHR$#
  72. 148 FORJ=0TO38:PRINT"[192]";:NEXT
  73. 150 PRINT""
  74. 152 PRINTTAB(22)"[221]"TAB(29)"[221]"TAB(34)"[221]"TAB(38)"[221]"
  75. 154 PRINTTAB(22)"[219]"TAB(29)"[219]"TAB(34)"[219]"TAB(38)"[179]":PRINT"[145]
  76. 156 [129]J[178]1[164]20:[153][163]22)"(null)"[163]29)"(null)"[163]34)"(null)"[163]38)"(null)":[130]
  77. 158 [153]"TANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTANTAN>TANTANTANTANTANTAN>TANTANTANTAN>TANTANTANEXPLIST";
  78. 160 [153]"":[142]
  79. 162 [143]
  80. 164 [143]  ***** CLEAR FORMAT *****
  81. 166 [143]
  82. 168 [153]"DEF(null)RESS SPACEWAIT TO CON-":[153]"TINUE, @WAIT TO EXIT.
  83. 170 GETZZ$:IFZZ$=""THEN170
  84. 172 IFZZ$="@"THEN338
  85. 174 PRINT""
  86. 176 FORJ=1TO20
  87. 178 PRINT"                      [221]      [221]    [221]   [155]":NEXT
  88. 180 L=0:PRINT"":RETURN
  89. 182 REM
  90. 184 REM  ***** MAGAZINE CODE *****
  91. 186 REM
  92. 188 PRINT"[147]"TAB(13)"[158][205][193][199][193][218][201][206][197] [195][207][196][197][211][155]
  93. 190 [153]"   LENLEN      LENREATIVE LENOMPUTING":[153]"   (null)LEN      (null)ERSONAL LENOMPUTING
  94. 192 PRINT"   [203][194]      [203]ILOBAUD [205]ICROCOMPUTING":PRINT"   [194][217][212][197]    [194][217][212][197]
  95. 194 [153]"   (null)RIGHT$LEN(null)(null)   (null)RIGHT$LEN(null)(null)":[153]"   (null)(null)ATN(null)(null)   (null)RANSACTOR
  96. 196 PRINT"   [201][206][212][193][199][197]  [201]NTERFACE [193]GE"
  97. 198 PRINT"   [195][207][205][208]    [195][207][205][208][213][212][197]!
  98. 200 [141]462
  99. 202 [137]332
  100. 204 [143]
  101. 206 [143]  *** ADD MATERIAL ***
  102. 208 [143]
  103. 210 [153]"LOAD"[163]11)"SYS*** LEN(null)VALATN(null)VAL STR$ATN(null)ATNWAIT ***"
  104. 212 [143] PRINT""TAB(9)"(null)P MODES & ENTRY CODES
  105. 214 PRINT""TAB(11)"[197]NTER NEW DATA[158]    E"
  106. 216 PRINT""TAB(11)"[200]ELP[158]              H"
  107. 218 PRINT""TAB(11)"[197]XIT[158]              \"
  108. 220 PRINT:PRINT:PRINT"            [217]OUR CHOICE ?"
  109. 222 GETA$:IFA$<>"E"ANDA$<>"H"ANDA$<>"\"THEN222
  110. 224 IFA$="E"THEN232
  111. 226 IFA$="H"THEN364
  112. 228 GOTO338
  113. 230 REM
  114. 232 REM  *** ENTER DATA ***
  115. 234 REM
  116. 235 DN$=""
  117. 236 X=FRE(0):IFX<0THENX=65535+FRE(0)
  118. 238 PRINT"[147][158][196]ATA ENTRY MODE[146] -"X"BYTES FREE":PRINTDN$"[164]"
  119. 240 PRINT""TAB(4)"C1,C2,C3,"CHR$(34)"TITLE"CHR$(34)","CHR$(34)"REF"CHR$(34);
  120. 242 PRINT",DATE,PAGE"
  121. 244 PRINT""TAB(7)"[150][208]RESS '\' TO EXIT THIS MODE[158]"
  122. 246 GETA$:IFA$=""THEN246
  123. 248 IFA$=CHR$(20)ANDLEN(R$)=0THEN246
  124. 250 IFA$=CHR$(20)ANDLEN(R$)>0THENR$=LEFT$(R$,LEN(R$)-1):PRINTDN$R$A$:A$=""
  125. 252 IF A$=CHR$(13)THEN270
  126. 254 IFA$="\"THENRUN
  127. 256 R$=R$+A$:IFLEN(R$)<65THEN268
  128. 258 PRINTDN$
  129. 260 PRINT"  [196][193][212][193] ENTRY HAS EXCEEDED 65 CHARACTERS.
  130. 262 [153]"        (null)LEASE RE-ENTER DATA"
  131. 264 [141]462
  132. 266 R$[178]"":[137]238
  133. 268 [153]DN$R$"TO":[137]246
  134. 270 [140]:[135]N:N[178]N[170]1:LN[178]1000[170]N
  135. 272 [153]""LN"DATA "R$
  136. 274 [153]"1000 DATA "N
  137. 276 [153]"GOTO232":[153]"
  138. 278 POKE198,3:POKE631,13:POKE632,13:POKE633,13
  139. 280 END
  140. 282 REM    **** SAVE FILE ****
  141. 284 REM
  142. 286 INPUT"[147][158][193]RE YOU REPLACING A PREVIOUS VERSION  Y[157][157][157]";ZZ$
  143. 288 INPUT"[198]ILE NAME                [157][157][157][157][157][157][157][157][157][157][157][157][157][157][157][157]";F$
  144. 290 IFF$="[160]"THEN288
  145. 292 INPUT"[201]S THIS CORRECT[160][160]Y[157][157][157]";A$
  146. 294 IFA$<>"Y"THEN288
  147. 296 INPUT"[215]HICH DRIVE  0[157][157][157]";D$:D=VAL(D$)
  148. 298 IFD<0ORD>1THENPRINT"[145][145][145]":GOTO296
  149. 300 OPEN15,8,15:PRINT#15,"I"+D$
  150. 302 IFZZ$<>"Y"THEN308
  151. 304 PRINT#15,"R"+D$+":TEMP="+F$
  152. 305 INPUT#15,E,E$,E1,E2
  153. 306 IFE>19THENPRINT""E$:PRINT"[198]ILE NOT SAVED":GOSUB462:GOTO318
  154. 308 SAVED$+":"+F$,8
  155. 310 PRINT"[214]ERIFYING[146] "F$
  156. 312 VERIFY"*",8
  157. 314 IFST<>64THENCLOSE15:END
  158. 316 IFZZ$="Y"THENPRINT#15,"S"+D$+":TEMP"
  159. 318 CLOSE15:GOTO332
  160. 320 REM
  161. 322 REM ****** EXIT *****
  162. 324 REM
  163. 326 PRINT"[147]
  164. 328 [128]
  165. 330 [143]
  166. 332 [143] *** MAIN PROGRAM BLOCK ***
  167. 333 [151]53280,0:[151]53281,0
  168. 334 [143]
  169. 336 [153][199](14)
  170. 338 [153]"LOAD"[163]9)"SYS*** (null)ATNCHR$ATN(null)RIGHT$(null)VAL RIGHT$(null)STR$VAL(null)WAIT ***"
  171. 340 [153][163]9)"1.SYS  (null)EARCH FILE"
  172. 342 [153][163]9)"2.SYS  (null)IST MAGAZINE CODE
  173. 344 PRINTTAB(9)"3.[158]  [193]DD MATERIAL
  174. 346 [153][163]9)"4.SYS  (null)AVE FILE
  175. 348 PRINTTAB(9)"5.[158]  [201]NSTRUCTIONS
  176. 350 [153][163]9)"6.SYS  (null)OAD ANOTHER INDEX
  177. 352 PRINTTAB(9)"7.[158]  [197]XIT PROGRAM
  178. 354 [153][163]5)"    (null)OUR CHOICE ?
  179. 356 GETZZ$:IFZZ$=""THEN356
  180. 358 ZZ=VAL(ZZ$):IFZZ<1ORZZ>7THENPRINT"[145][145][145]";:GOTO354
  181. 360 ONZZGOTO82,184,206,282,404,476,322
  182. 362 REM
  183. 364 REM  ****  HELP FUNCTION ****
  184. 366 REM
  185. 368 PRINT"[147]"TAB(10)"[158]*** [201][206][211][212][210][213][195][212][201][207][206][211][146] ***"
  186. 370 PRINT"[155]  [212]HE DATA MUST BE ENTERED IN 7 FIELDS.
  187. 372 [153]"(null)HE FORMAT FOR THE FIELDS IS:
  188. 374 PRINT"[158]   C1,C2,C3,"CHR$(34)"TITLE"CHR$(34)","CHR$(34)"REF"CHR$(34);
  189. 376 PRINT",DATE,PAGE"
  190. 378 PRINT"[155]WHERE C1,C2,C3 ARE CROSS REFERENCE
  191. 380 [153]"VALUES AS PER THE CATEGORY LIST.
  192. 382 PRINT"[193]S AN EXAMPLE:
  193. 384 [153]"SYS   1,4,0,"[199](34)"(null)ETBUG"[199](34)","[199](34);
  194. 386 [153]"LEN(null)(null)(null)"[199](34)",8107,132"
  195. 388 [153]"LISTVALACH FIELD MUST BE FOLLOWED BY A COMMA
  196. 390 PRINT"AND THE [193]RTICLE AND [205]AGAZINE NAMES MUST
  197. 392 [153]"BE PRECEEDED AND FOLLOWED BY QUOTATION
  198. 394 PRINT"MARKS.
  199. 396 [153]"(null)SE '0' FOR NULL CROSS-REFERENCES."
  200. 398 [141] 462
  201. 400 [137]206
  202. 402 [143]
  203. 404 [143]  *** GENERAL INSTRUCTIONS ***
  204. 406 [143]
  205. 408 [153]"LOAD"[163]10)"SYS*** RIGHT$(null)(null)(null)(null)(null)LEN(null)RIGHT$(null)(null)(null)WAIT ***"
  206. 410 [153]"LIST(null)HIS PROGRAM ALLOWS THE USER TO STORE
  207. 412 PRINT"INFORMATION RELATING TO MAGAZINE
  208. 414 [153]"ARTICLES IN STR$ATN(null)ATN STATEMENTS WITHIN THE
  209. 416 PRINT"PROGRAM. [197]ACH ARTICLE CAN HAVE UP TO
  210. 418 [153]"3  CROSS-REFERENCES. (null)HE CROSS-REFER-
  211. 420 PRINT"ENCE CATEGORIES WILL BE DISPLAYED WHEN
  212. 422 [153]"(null)PTION 1 IN THE (null)ENU IS CHOSEN. (null)HE
  213. 424 PRINT"CROSS-REFERENCE TITLES ARE STORED AT
  214. 426 [153]"THE BEGINNING OF THE PROGRAM AND CAN BE
  215. 428 PRINT"EASILY MODIFIED TO SUIT THE USER.
  216. 430 [153]"(null)EW STR$ATN(null)ATN STATEMENTS ARE CREATED IN THE
  217. 432 PRINT"PROGRAM BY SELECTING [207]PTION 3. [212]HE
  218. 434 [153]"INSTRUCTIONS FOR CREATING THE STR$ATA
  219. 436 PRINT"[194]ASE CAN BE ACCESSED FROM THAT ROUTINE.
  220. 438 [141]462
  221. 440 [153]"LOAD"[163]10)"SYS*** RIGHT$(null)(null)(null)(null)(null)LEN(null)RIGHT$(null)(null)(null)WAIT ***"
  222. 442 [153]"LIST(null)NCE MODIFICATIONS HAVE BEEN MADE IN
  223. 444 PRINT"THE [196][193][212][193] STATEMENTS, THE PROGRAM CAN
  224. 446 [153]"THEN SAVE A COPY OF ITSELF TO DISK.
  225. 448 PRINT"[201]F YOU WISH, THE PREVIOUS COPY OF THE
  226. 450 [153]"PROGRAM WILL BE RENAMED, A NEW COPY
  227. 452 PRINT"SAVED AND VERIFIED, AND THE OLD COPY
  228. 454 [153]"SCRATCHED.
  229. 456 GOSUB462
  230. 458 GOTO332
  231. 460 REM
  232. 462 REM ***** PROMPT *****
  233. 464 REM
  234. 466 PRINT"
  235. 468 [153][163]5)"DEF(null)RESS (null)VAL(null)(null)(null)(null)WAIT TO CONTINUE
  236. 470 GETZZ$:IFZZ$<>CHR$(13)THEN470
  237. 472 RETURN
  238. 474 REM
  239. 476 REM *** LOAD ANOTHER INDEX ***
  240. 478 REM
  241. 480 INPUT"[147][158][201]NDEX YEAR TO BE LOADED  *           [157][157][157][157][157][157][157][157][157][157][157][157][157][157]";F$
  242. 482 IFF$="*"THEN480
  243. 484 INPUT"IS THIS CORRECT[160][160]Y[157][157][157]";ZZ$
  244. 486 IFZZ$<>"Y"THEN480
  245. 488 PRINT"[147]LOAD";CHR$(34);F$;CHR$(34);",8"
  246. 490 PRINT"RUN"
  247. 492 POKE198,2:POKE631,13:POKE632,13
  248. 494 END
  249. 496 REM
  250. 498 REM **** DATA STARTS HERE ****
  251. 500 REM
  252. 1000 DATA  4
  253. 1001 DATA 11,16,0,"[195]64 [205]EMORY [205]AP","[195][207][205][208]",8210,150
  254. 1002 DATA 6,14,3,"[211]HAPE [199]ENERATOR [198]OR [195]64","[195][207][205][208]",8211,160
  255. 1003 DATA 11,12,16,"1ST [204]OOK [193]T [212]HE [195]64","[195][207][205][208]",8208,60
  256. 1004 DATA 11,6,18,"[211]PRITES & [211]OUND [207]N [195]64","[195][207][205][208]",8209,106
  257. 9999 DATA 0,0,0,"","","","":REM END OF FILE
  258.